#include <signal.h>
#include <unistd.h>
#include <stdio.h>
 #include <stdlib.h>
void timeout_handler(int signum) {
    printf("操作超时！\n");
    exit(1);
}

int main() {
    signal(SIGALRM, timeout_handler);  // 注册信号处理函数
    alarm(3);  // 设置3秒超时

    // 模拟可能阻塞的操作（如read）
    sleep(5);  // 超过3秒，触发SIGALRM

    alarm(0);  // 若操作成功，取消定时器
    printf("操作完成！\n");  // 不会执行
    return 0;
}
// #include<iostream>
// #include<signal.h>
// #include <unistd.h>
//  #include <stdlib.h>
// using namespace std;
// void hander(int num)
// {
//     cout<<"获取了一个信号： "<<num<<endl;
// }
// int main()
// {
//     signal(6,hander);
//     while(1)
//     {
//         sleep(1);
//         abort();
//     }
//     return 0;
// }